<?php

namespace App\Http\Config;


class WechatAPI
{
    const IP = '127.0.0.1';
    const WECHAT_API_URL = 'https://api.weixin.qq.com';
    const QYWECHAT_API_URL = 'https://qyapi.weixin.qq.com';
    const QYWECHAT_EMAIL_API_URL = 'https://api.exmail.qq.com';
    const MCH_API_URL = 'https://api.mch.weixin.qq.com';
    /* 操作事件 */
    const EVENT_SUBSCRIBE = 'subscribe';       //订阅
    const EVENT_UNSUBSCRIBE = 'unsubscribe';   //取消订阅

    public static function wechatConf()
    {
        if(env('APP_DEBUG')){
            return array(
                'appid' => '',
                'appsecret' => '',
                'token' => '',
                'encodingaeskey' => ''
            );
        }
        return array(
            'appid' => '',
            'appsecret' => '',
            'token' => '',
            'encodingaeskey' => ''
        );
    }

    static $wechat_conf = [
        'get_token' => self::WECHAT_API_URL.'/cgi-bin/token?grant_type=client_credential',
        'user_info' => self::WECHAT_API_URL.'/cgi-bin/user/info?',
        'create_menu' => self::WECHAT_API_URL.'/cgi-bin/menu/create?',
        'get_ticket' => self::WECHAT_API_URL.'/cgi-bin/ticket/getticket?',
    ];

    static $miniwx_conf = [

    ];

    static $qywx_conf = [
        'get_token' => self::QYWECHAT_API_URL.'/cgi-bin/gettoken',                                                      //获取access_token
        'user_openid' => self::QYWECHAT_API_URL.'/cgi-bin/user/convert_to_openid',                                      //获得企业微信账号openid
        'user_get' => self::QYWECHAT_API_URL.'/cgi-bin/user/get',                                                       //获取企业微信账号
        'user_create' => self::QYWECHAT_API_URL.'/cgi-bin/user/create',                                                 //创建企业微信账号
        'user_update' => self::QYWECHAT_API_URL.'/cgi-bin/user/update',                                                 //修改企业微信账号
        'user_delete' => self::QYWECHAT_API_URL.'/cgi-bin/user/delete',                                                 //删除企业微信账号
        'user_simplelist' => self::QYWECHAT_API_URL.'/cgi-bin/user/simplelist',                                         //获取部门成员
        'department_list' => self::QYWECHAT_API_URL.'/cgi-bin/department/list',                                         //获取部门列表
        'department_create' => self::QYWECHAT_API_URL.'/cgi-bin/department/create',                                         //创建部门
        'department_del' => self::QYWECHAT_API_URL.'/cgi-bin/department/delete',                                         //删除部门
        'qyemail_create' => self::QYWECHAT_EMAIL_API_URL.'/cgi-bin/user/create',                                        //创建企业邮箱
        'qyemail_update' => self::QYWECHAT_EMAIL_API_URL.'/cgi-bin/user/update',                                        //修改企业邮箱
        'qyemail_delete' => self::QYWECHAT_EMAIL_API_URL.'/cgi-bin/user/delete',                                        //删除企业邮箱
        'user_invite' => self::QYWECHAT_API_URL.'/cgi-bin/batch/invite',                                                //邀请用户
        'payment' => self::MCH_API_URL.'/mmpaymkttransfers/promotion/paywwsptrans2pocket',                              //商家转账
        'punch_card' => self::QYWECHAT_API_URL.'/cgi-bin/checkin/getcheckindata'                                        //获取打卡数据
    ];

    static $qyWx_msg = [
        "40001"=>"不合法的secret参数	secret在应用详情/通讯录管理助手可查看", "40003"=>"无效的UserID", "40013"=>"不合法的CorpID	需确认CorpID是否填写正确", "40014"=>"不合法的access_token",
        "40029"=>"不合法的oauth_code", "40031"=>"不合法的UserID列表	指定的UserID列表，至少存在一个UserID不在通讯录中", "40032"=>"不合法的UserID列表长度	",
        "40033"=>"不合法的请求字符	不能包含\uxxxx格式的字符", "40035"=>"不合法的参数", "40056"=>"不合法的agentid", "40063"=>"参数为空",
        "40066"=>"部门列表为空，或者至少存在一个部门ID不存在于通讯录中", "40068"=>"不合法的标签ID	标签ID未指定，或者指定的标签ID不存在", "40070"=>"指定的标签范围结点全部无效",
        "40071"=>"不合法的标签名字	标签名字已经存在", "40072"=>"不合法的标签名字长度	不允许为空，最大长度限制为32个字（汉字或英文字母）", "40073"=>"不合法的openid	openid不存在，需确认获取来源",
        "40077"=>"不合法的pre_auth_code参数	预授权码不存在", "40078"=>"不合法的auth_code参数	需确认获取来源，并且只能消费一次", "40080"=>"不合法的suite_secret	套件secret可在第三方管理端套件详情查看",
        "40082"=>"不合法的suite_token", "40083"=>"suite_id不存在", "40085"=>"suite_ticket不存在或者已失效", "40086"=>"不合法的第三方应用appid至少有一个不存在应用id",
        "40091"=>"secret不合法	可能用了别的企业的secret", "40126"=>"企业标签个数达到上限，最多为3000个", "41001"=>"缺少access_token参数", "41002"=>"缺少corpid参数", "41004"=>"缺少secret参数",
        "41006"=>"缺少media_id参数	media_id为调用接口必填参数，请确认是否有传递", "41008"=>"缺少auth code参数", "41009"=>"缺少userid参数", "41010"=>"缺少url参数", "41011"=>"缺少agentid参数",
        "41019"=>"缺少 department 参数", "41021"=>"缺少suite_id参数", "41022"=>"缺少suite_access_token参数", "41023"=>"缺少suite_ticket参数", "41024"=>"缺少secret参数",
        "42001"=>"access_token已过期	access_token有时效性，", "43009"=>"企业未验证主体", "45009"=>"接口调用超过限制", "45024"=>"帐号数量超过上限", "46004"=>"指定的用户不存在	需要确认指定的用户存在于通讯录中",
        "48002"=>"API接口无权限调用", "48003"=>"不合法的suite_id	确认suite_access_token由指定的suite_id生成", "50002"=>"成员不在权限范围	请检查应用或管理组的权限范围", "50003"=>"应用已禁用",
        "60001"=>"部门长度不符合限制	部门名称不能为空且长度不能超过32个字", "60003"=>"部门ID不存在	需要确认部门ID是否有带，并且存在通讯录中", "60004"=>"父部门不存在	需要确认父亲部门ID是否有带，并且存在通讯录中",
        "60005"=>"部门下存在成员，不允许删除有成员的部门", "60006"=>"部门下存在子部门，不允许删除有子部门的部门", "60007"=>"不允许删除根部门", "60008"=>"部门已存在，部门ID或者部门名称已存在",
        "60009"=>"部门名称含有非法字符	不能含有 \:?*“<>| 等字符", "60010"=>"部门存在循环关系", "60011"=>"指定的成员/部门/标签参数无权限", "60012"=>"不允许删除默认应用	默认应用的id为0",
        "60020"=>"访问ip不在白名单之中", "60021"=>"userid不在应用可见范围内", "60102"=>"UserID已存在", "60103"=>"手机号码不合法	长度不超过32位，字符仅支持数字，加号和减号",
        "60104"=>"手机号码已存在	同一个企业内，成员的手机号不能重复。建议更换手机号，或者更新已有的手机记录。", "60105"=>"邮箱不合法	长度不超过64位，且为有效的email格式",
        "60106"=>"邮箱已存在	同一个企业内，成员的邮箱不能重复。建议更换邮箱，或者更新已有的邮箱记录。", "60107"=>"微信号不合法	微信号格式由字母、数字、”-“、”_“组成，长度为 3-20 字节，首字符必须是字母或”-“或”_“",
        "60110"=>"用户所属部门数量超过限制	用户同时归属部门不超过20个", "60111"=>"企业微信账号UserID不存在", "60112"=>"成员name参数不合法	不能为空，且不能超过64字符",
        "60123"=>"无效的部门id	部门不存在通讯录中", "60124"=>"无效的父部门id	父部门不存在通讯录中", "60125"=>"非法部门名字	不能为空，且不能超过64字节，且不能含有\:*?”<>|等字符", "60127"=>"缺少department参数",
        "60129"=>"成员手机和邮箱都为空	成员手机和邮箱至少有个非空", "81002"=>"部门最多15层", "90200"=>"缺少小程序appid参数", "90201"=>"小程序通知的content_item个数超过限制	item个数不能超过10个",
        "90202"=>"小程序通知中的key长度不合法	不能为空或超过10个汉字", "90203"=>"小程序通知中的value长度不合法	不能为空或超过30个汉字", "90204"=>"小程序通知中的page参数不合法",
        "90206"=>"小程序未关联到企业中", "90207"=>"不合法的小程序appid", "90208"=>"小程序appid不匹配", "90300"=>"orderid 不合法", "600015"=>"缺少secret参数", '81015' => "邮箱域名需要跟企业邮箱域名一致",
        "40058" => "传递参数不符合系统要求，需要参照具体API接口说明"
    ];
}
